We help IT Professionals succeed at work.

HTTP Protocol

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext. HTTP functions as a request-response protocol in the client-server computing model. HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. HTTP is an application layer protocol designed within the framework of the Internet Protocol Suite; it presumes an underlying and reliable transport layer protocol.

I have an ISAPI extension web application implemented in C++
A client does a POST with the "Transfer-Encoding: chunked" header.
I cannot find an example or a documentation how to manage such type of request in ISAPI extension.
I put a debugger breakpoint in my ISAPI callback function and it hits only once with the first chunk in the available buffer.
Could somebody point me to a working example or/and documentation?
hold.tarI have failing call to update a table of salesforce. It returns this message:

update Opportunity set NextStep='Contact John Smith' where ID = '0066g00000fjfOqAAI'[ { "message" : "unexpected token: update", "errorCode" : "MALFORMED_QUERY" } ]

Here is my source code

public class SFEngine {
        public static final String clientId="3MVG9LBJLApeX_PDRFsRBGTuqsN.m3Vd1bIwEF5_FNoEUKGVX0gBqUM1YdL52614KXSW9O6pL6abWun9soVyw";

        public static final String clientSecret="8F418A0BCE45412081ED5D3057A20B178C203A05EC368BFC67D82FF5C4BFBD92";
        public static final String redirectUrl="https://na174.salesforce.com/services/oauth2/callback";
        public static  String tokenUrl="https://login.salesforce.com/services/oauth2/token";
        public static final String environment="https://login.salesforce.com";
        public static final String username="xxxxxxxxxxx";
        public static final String password="xxxxxxxxxxx";                

        public static  String accessToken="";
        public static  String instanceUrl="";
        public HttpClient httpclient;
        public  HttpResponse queryResponse ;
        public  JsonNode queryResults;
        public  HttpGet get;
        public  URIBuilder builder;

private static final String TOKEN_URL =  "https://login.salesforce.com/services/oauth2/token";
public static String  OpenRest(String ID, String Field, String Value) {

        String consumerKey = clientId;
Is there a way to display the value of MyClass.SomeMessage in the expression builder <%$  $> of the Label control below?

<asp:Label ID="lblMessage" runat="server" Text="<%$ Is there a way to display the value of MyClass.SomeMessage here %>" />

    // This class is defined in App_Code folder
    public static class MyClass
        public static string SomeMessage
                string message = "This is some test message";
                return message;
how do we make a website , that supports HTTP 2 ? is it some setting set in  the web server  ?
What is wrong with my nginx configuration? I am getting a 405 when i post json data from contact.html to my email.php file, this script was working perfectly on an apache2 box i had but on the nginx one i cant seem to get it going.

the site used to be wordpress so some old conf stuff is there i tried commenting it all out and didnt have much luck.

Any ideas?

server {
    listen         80;
    listen 443 ssl;
    server_name    www.mysite.health mysite.health;

    ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    return         301 https://www.mysite.com$request_uri;      	

server {

    server_name mysite.com www.mysite.com;
    listen 443 http2 ssl;
    root /var/www/mysite.com;
    index index.html;
    server_tokens off;

    access_log /var/log/nginx/mysite.com.access.log;
    error_log  /var/log/nginx/mysite.com.error.log;

    set $skip_cache 0;
    fastcgi_ignore_headers Cache-Control;

    # POST requests and URLs with a query string should always go to PHP
#    if ($request_method = POST) {
 #       set $skip_cache 1;
  #  }   

   # if ($query_string != "") {
    #    set $skip_cache 1;
   # }   

    # Don't cache URIs containing the following segments

Open in new window

How can we apply ICP Filing for a Chinese Web-site?

For one given web-site, how can we check/validate if it is having ICP Filing or not?
Seeking your inputs please. The situation is as follows:

1) I have a HTTP listener running on a port (say 8083) on a Windows 2012 Server.
2) A client application continuously sends SOAP request to and receive a SOAP response from my listener.
3) There are instances when two successive requests are sent within a span of 10ms
4) The second request on the client application always results in the error 'Connection Refused' in the client logs. The owner of the client application believes my listener refused to accept the connection.
5) I am kind of confident it did not reach the listener, but not entirely sure if the connection was refused by the OS on the server.

Can I please know if there is a way to check if such a request was ever received at the listener port? Any kind of Windows logs or internal tools that can help me here?

I access a website on our internal network with a URL of the form http://192.168.x.y/sitelauncher/sitellauncher.aspx and the page loads fine. Once I take the next step of, say, entering credentials on the page the web request tries to access the same server via its external IP address at http://a.b.c.d/sitelauncher/ourservice.svc which it can't see because that's unavailable from our internal IP and always will be (so I need the request to go out with the IP as 192.168.x.y not a.b.c.d). We're using SilverLight on the client side (so that's on my internal machine as it would have to be on any externally connecting client) and I don't know if that poses any additional problems. I've searched in every config file and possible source for the string "a.b.c.d"  (the webserver's external IP) on the webserver and can't find it and if it's hard-coded it can't be changed (legacy code).

So, basically, I wondered if there was a way I could somehow intercept and replace so all requests are of the form http://192.168.x.y/sitelauncher/sitellauncher.aspx  on the client machine?

Is there some tool available that would permit some kind of string replacement of a.b.c.d to 192.168.x.y on each occasion an http request is made?

Have tried a thing called rinetd which complains because it can't bind to the original IP target:port (no surprise since it'll be invisible).

Any ideas folks?

Entering www.felixstowerotaryclub.org successfully redirects to https://www.rotary-ribi.org/clubs/homepage.php?ClubID=469 and you can see the green padlock on the browser bar.

Similarly entering felixstowerotaryclub.org also does the same.

However entering https://www.felixstowerotaryclub.org and https://felixstowerotaryclub.org get certificate errors.

Is it actually possible to get an https URL to redirect to a different website with its own certificate?

One issue is that if someone googles "Felixstowe Rotary Club" one of the search results (for me it is the second one in the list) is https://www.felixstowerotaryclub.org so potentially someone might use this link.
I am trying to navigate to a website via PowerShell and pass custom header information with the following:
$ie = new-object -comobject 'internetexplorer.Application'
$ie.Visible = $True
$headers =  @{"x-custom-1"="custom Value 1"}
$headers += @{"x-custom-2"="custom Value 2"}

Open in new window

However, the headers don't seem to be making  it to the site.
Any assistance is greatly appreciated.
Hi Experts,

Any idea how I link a Javascript file to my Caspio datapage?

This is what was told by Caspio IT guys...

We don’t need to deploy the javascript files to our local PC. It will work as it is upon duplication. In terms of linking a datapage to a javascript file, just update the javascript file where we change the APP key of the datapage to be integrated to the said file.

then had someone else there (not a developer) mentioning the following...

As far as I know JS file cannot be place on a local computer and then reference by an application. If you want to refer to your JS file in Caspio DataPages, you can create a URL app parameter and use this syntax on your DataPages to refer to it:

<script src="[@app:AppParameterName/]"></script>

In this forum article you can find how to do that: https://forums.caspio.com/topic/4693-js-adding-a-digital-signature-to-a-submission-form/.

So perhaps you guys can guide me...

There seems to be some sort of mysterious redirection going on when i try to access the site at

A static file, such as http://fostamells.technojeeves.com/license.txt comes out fine but the attempt to access the homepage seems to land on a page of the company that hosts technojeeves.com. I really can't see why. Is it Wordpress doing this or what (after all it does say X-Redirect-By: WordPress)? I've attached a wget debug log of the attempt to get the homepage
Hi, I have a cpprestsdk test program which calls a PHP back-end on my localhost passing GET data and this works fine.  But I want to pass the data via POST rather than GET and though I have Googled intensely I cannot get any of the suggestions to work in my environment which is Win 10 and VS2019.
I've attached the GET code which works.
If you can advise me how to achieve the similar functionality but sending the data to the backend via POST I would be most appreciative and thank you in anticipation.part 1 of the codepart 2 of the code
I have 2 servers with:
1. API - linux apache
2. C# Console app (calls the API and returns the result)
They are both on our servers in our control

Even though this question is focused on C# console APP, there might be some other limitation i'm not considering, so have tagged this question in multiple topics

My goal is to call API 500 times a sec from one machine, currently its not even close, and I think its due to lack of concurrent connections to API.

When hitting API from console app, we are seeing in the region of these figures for response time on API result
 - 350ms when on WAN,
-  150ms on LAN

Not using console app -  from API server directly
-  56ms (using terminal session and running script to call the http API directly)

These are the detailed stats when hitting the API directly from itself (56ms option above)
From the Apache test:

Concurrency Level:      100
[b]*Time taken for tests:   24.612 seconds*[/b]
Complete requests:      *50,000*
Failed requests:        0
Non-2xx responses:      50000
Keep-Alive requests:    0
Total transferred:      33050000 bytes
HTML transferred:       18450000 bytes
Requests per second:    2031.56 [#/sec] (mean)
[b]*Time per request:       49.223 [ms] (mean)*[/b]
[b]*Time per request:       0.492 [ms] (mean, across all concurrent requests)*[/b]

Open in new window

So according to these results it can handle a very acceptable amount,  using concurrent connections, albeit internally - (2,031 per second, which is…
I currently have a HttpWebRequest wcustom header written in VB.net defined as:

Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
            request.Method = "POST"
            request.Headers.Add("X-SessionID", sessionID)
            request.ContentType = "application/json; charset=utf-8"

Open in new window

I need to add in the content as below created using PHP/JS.

$options = array(
  'http' =>
  array (
    'method'        => 'POST',
    'header'        => 'X-SessionID: ' . $MY_SESSION_ID . "\r\n" .
                       'Content-Type: application/json',
    'content'       => json_encode($mylist1),
    'ignore_errors'  => true,

Open in new window

How do I do this?
When I connect to Tableau server via HTTP address - which use to work fine - I now get HTTP404 blank page.
Any ideas as have a demo tomorrow!

HTTPAPI_debug.txtWS HTTP API(library LIBHTTP).
IBM-i Client Connection to Webserver: handshake problem.  
Immediatelly after clientHello, the  server resets  connection.

ibm-i Joblog messages .
   Message . . . . :   (GSKit) An operation which is not valid for the current
     SSL session state was attempted.                                          
   Cause . . . . . :   No additional online help information is available.    
 40   18/01/19  15:36:49.874491  HTTPAPIR4    LIBHTTP     *STMT    RSUCISLO2  
   From module . . . . . . . . :   HTTPUTILR4                                  
   From procedure  . . . . . . :   HTTP_CRASH                                  Handshakke-problem-from-7_3-LPAR.docx
   Statement . . . . . . . . . :   4068                                        
   Message . . . . :   SSL Handshake: (GSKit) I/O: A connection with a remote  
     socket was reset by that

I'm trying to use code that I don't understand to gather statistics about myself from experts-exchange. The code begins with the following. Note the cryptic comment at line 12. In any case when I run the code and enter https://www.experts-exchange.com in the input box I get an "A security error occurred" error at line 26. What am I doing wrong?
Private Sub HTML_VBA_Excel()
    Dim oXMLHTTP As Object
    Dim sPageHTML  As String
    Dim sURL As String
    Dim intName As Integer
    Dim intEnd As Integer
    Dim strParts() As String
    Dim strStartString As String
    Dim intNewLine As Integer
    Dim lngLastRow As Long
    Dim lngRow As Long
 '  doesn't work correctly
    Application.ScreenUpdating = False
    strStartString = "target=" & """" & "_blank" & """" & ">"
    sURL = "Start"
    Do While sURL <> ""
        sURL = InputBox("Enter search result URL")
       'Extract data from website to Excel using VBA
       Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
'       oXMLHTTP.Open "GET", sURL, False
       oXMLHTTP.Open "GET", sURL, False

       sPageHTML = oXMLHTTP.responseText

Open in new window

I am getting the following error on making a postman request -
How can i increase the timing or can resolve this some other way.
The corresponding application is running with debugger with this option -

I searched Experts and found a comment linking to documentation to set up URL rewrite:

Regarding the comment:


I'm trying to set a URL rewrite from http to https in IIS 8.5 using the steps outlined in the following article mentioned in the comment above.


My settings are exactly the same, but it's not re-directing to the https, but just times out. Any ideas would be appreciated.

Hi All

I'm using a Windows Server 2012 R2 Standard with IIS Version 8.5.9600. I'm trying to redirect link A to link B, see below

Link A

Open in new window

Link B

Open in new window

I created a web.config file under the iFLY.com.au folder, the web.config consists of the below

<?xml version="1.0" encoding="UTF-8"?>
<httpRedirect destination="https://downunder.iflyworld.com/book-now/gifting-step3-special?code=BLOCKS&tunnel=PEN"/>

Open in new window

When I try to access the iFLY.com.au/special I get the
500 - Internal server error.

500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

Open in new window

Any help is greatly appreciated!
Hi all,
I am trying to create a login form in Angular 6. My test app check the data written from the current user and try to match with the data received from a remote service via http (post). This is the point: with a simple request as following, all works correctly. But what about a request also with header and token? How can I create a function with this information? Or, do you have a link with a specific tutorial for this case? Thank you very much!

PS: I almost never insert "urgent" for a request but this is really urgent!

    onlogin(): void {
    .subscribe(data => {
        this.data = data;
        this.loading = false});

Open in new window

(example from official Angular 6 Book, page 157)
What are the steps required to change an IIS hosted website from HTTP to HTTPS?
How do I get the actual TOTAL byte size of the HTTP header being sent to a server? Is there any way in Chrome to see the size of the complete request?
I have a service which calls a web service returning text data. Basically service is trying to return a file content which is mostly text.

here is my service call

getFile(title: string, identifier: string) {
    console.log('returning service');
    return this.http
      .get(this.constructFileURL(title, identifier), { headers: this.createHeader() });

Open in new window

Here is how I am subscribing to it

 getFileContent(title: string, display: DisplayContent, identifier: string) {
    console.log('calling service');
    this.fileService.getFile(title, identifier).subscribe(results => {
      console.log('displaying results');
      display.content = JSON.stringify(results);
    return this.fileData;

Open in new window

I am getting following error on the console. Note : 'console.log('displaying results')' is not getting printed on the console

HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK",
SyntaxError: Unexpected token e in JSON at position 1 at JSON.parse (<anonymous>) at XMLHttpRequest.onLoad (http://localhost:4200/vendor.js:7822:51) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.js:14960:31) at Object.onInvokeTask (http://localhost:4200/vendor.js:36079:33) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.js:14959:36) at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.js:14727:47) at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (http://localhost:4200/polyfills.js:15035:34) at invokeTask (http://localhost:4200/polyfills.js:16079:14) at XMLHttpRequest.globalZoneAwareCallback (http://localhost:4200/polyfills.js:16105:17)

Open in new window

Not able to figure out what is wrong. I do convert JSON to string just to be safe as show in the code

HTTP Protocol

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. Hypertext is structured text that uses logical links (hyperlinks) between nodes containing text. HTTP is the protocol to exchange or transfer hypertext. HTTP functions as a request-response protocol in the client-server computing model. HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. HTTP is an application layer protocol designed within the framework of the Internet Protocol Suite; it presumes an underlying and reliable transport layer protocol.

Top Experts In
HTTP Protocol