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.

Share tech news, updates, or what's on your mind.

Sign up to Post

We just moved from WinINET to WinHTTP. The latter does not have an equivalent InternetCanonicalizeUrl function.

The WinHTTP docs say that WinHTTPOpenRequest does this automatically but there is nothing there that specifically addresses this.

According to this reference you can use WinHTTPCreateURL which uses a URL_COMPONENTS structure to define the various URL parts. In the latter the lpszExtraInfo property is where you put the ?param=xyz& ... part.

Here is my problem - one of the parameters in the paramter string needs to be canonicalized as it could contain non-URL friendly characters (Example &).

With the WinINET version we used InternetCanonicalizeUrl on the specific URL parts which were then appended to the URL string.

Example
If we have a URL now that looks like this
mydomain.com?param='Name & Surname','Description'

Open in new window

And we pass that to WinHTTPOpenRequest - it does not know that the & in Name & Surname is data and not a parameter separator.

Question:
How do we canonicalize individual parameters in the URL with WinHTTP
0
Enroll in July's Course of the Month
LVL 9
Enroll in July's Course of the Month

July's Course of the Month is now available! Enroll to learn HTML5 and prepare for certification. It's free for Premium Members, Team Accounts, and Qualified Experts.

Hi everyone,

This issue did not exist last week, and nothing has changed on our network that I know of.  I'm the sole I.T. employee with access to make changes.

Here is our basic LAN:

*Internal Network -> Split into multiple subnets as shown below:

Primary Location: Main network -> AAA.AAA.118.0/24  (DNS servers located with Domain Controllers)
                                WiFi network -> AAA.AAA.119.0/24   (DNS server is provided by Virtual Linux server)

Remote location 1: Main Network -> BBB.BBB.0.0/24 (DNS servers located with Domain Controllers)

Remote location 2: Main Network -> BBB.BBB.1.0/24 (DNS servers located with Domain Controllers)

1. The primary location and both remote locations are communicating between each other just fine.  
2. Both remote locations can access the External company website just fine.  
3. The Wifi network at our Primary Location can access the external company website just fine.
4. No other issues with external websites at our Primary location, just issue accessing company website.

Company website is:  www.bhbinc.com

When accessed via our Primary locations's Main Subnet, we get this browser error:  "This site can't be reached.  The connection was reset"


Any suggestions as to where to look for the cause of this issue would be greatly appreciated!
0
I have used 3 set of codes(where I used Indy10.6.2 component), which doesn't show any errors, but i can't able to send SMS through the code. Please help me to send me the Sms through Delphi code

The code which I used is...

const
  URL = 'https://api.bulksmsgateway.in/send/?username=****&hash=****&sender=TXTLCL&numbers=9198........&message=HISUNDAR';
  //URL = 'https://api.textlocal.in/send/?username=*****&hash=******&sender=TXTLCL&numbers=9198...&message=HISUNDAR';
  ResponseSize = 1024;
var
  hSession, hURL: HInternet;
  Request: String;
  ResponseLength: Cardinal;
begin
  hSession := InternetOpen('TEST', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    Request := Format(URL,[Username,Password,Sender,Numbers,HttpEncode(Message1)]);
    hURL := InternetOpenURL(hSession, PChar(Request), nil, 0,0,0);
    try
      SetLength(Result, ResponseSize);
      InternetReadFile(hURL, PChar(Result), ResponseSize, ResponseLength);
      SetLength(Result, ResponseLength);
    finally
      InternetCloseHandle(hURL)
    end;
    showmessage(result);
  finally
    InternetCloseHandle(hSession)
  end





var
http : TIdHTTP;
IdSSL : TIdSSLIOHandlerSocketOpenSSL;
begin
 http := TIdHTTP.Create(nil);
 IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
 try
  Http.ReadTimeout := 30000;
  Http.IOHandler := IdSSL;
  IdSSL.SSLOptions.Method := sslvTLSv1;
  Http.Request.BasicAuthentication := True;
 // IdSSL.SSLOptions.Method := sslvTLSv1;
  …
0
I am using the following query to get the CNAME record to load my site properly. The issue: The code below works ... but only if refreshed a couple of times.

Query ::

$recsDNS = dns_get_record($_SERVER['HTTP_HOST'], DNS_CNAME );
print_r($recsDNS);

Not getting CNAME records Properly, SOme times coming and some times Not.

If I use DNS_ALL :: After refreshing 3 to 4 times i am getting CNAME records.
0
I have a computer here that almost daily will stop bringing up web sites.  I've read more than I can even tell you and tried  everything I could to see some rhyme or reason why this is happening.  I can ping the address from a command line or the domain name.  Outlook isn't affected even though it's hosted offsite.  I can't access the web whether I put in  the Domain name or IP in the URL field.

I've flushed the ARP cache more than once, stopped and restarted dnscache, flushed dns, scanned for trojans, malware, etc.  And the only thing that will get it running again is to restart the computer or flush dns.  We recently went through a DNS server change but we kept the same IP address.  This also doesn't affect all the computers on the domain.

This is a Windows 7 Pro PC on a 2012 R2 domain.

I can't figure it out.  I am open for ideas.

Thank you!
0
I had this question after viewing XP driver for Iomega Zip with USB-to-serial converter.

Does this driver help you?
http://www.driverscape.com/download/iomega-zip-100-(usb)
The second download button.

That download was only basically a blank file.

Is there some other way to get an original driver as all leads I have found are for updates.

Thank you,
Grahame.
0
Hello all,

My site was working fine under the regular http site.  When i was force to move over to secure https site, ajax stop working.  I don't know what i am doing wrong.

the code is below:
				$.ajax({
				type: "POST",
				url: "update_location.php",
				data:'vlat='+locLat+'&vlong='+locLong+'&vTranId='+tranId,
				success: function(data){
					$("#city-list").html(data);
                                      
				}
				});

Open in new window

0
Dears, kindly note that I have to build  have to build the server which host the service as windows form application c#, and the client also is windows from application c#, so I tried to create new WCF Service Library, now how can I host it by the server and access it by the client?

the client have to connect to the server using http protocol as it is far from it,

so, is there a possible scenario for that?
0
I have an edit page, when i click submit i would like to have a message pop up dependent on the response from the server whether it is successful or error .

<script type="text/javascript">

 

  var app = angular.module('app',[]);


  app.controller('decontroller', function($scope,$http){
    $scope.edit=<?php echo json_encode($aggregate_data_view);?>;

    
    $scope.processRequest = function()
    {
    console.log("hey i'm submitting!");
    console.log($scope.edit);


    $http.post('<?php echo site_url("transport/saveData")?>', $.param($scope.edit)).

    
    success (function(data){
    
    alert("Your request is been processed...") }).

    
    error (function(data){ 
    
    alert("There was an error processing your request")
    });

    };

     $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=utf-8";
     
   });


</script>

Open in new window

0
Hi experts,
Im planning a multi-location Webserver cluster. I test how the browsers are handling multiple A records.

Test configuration was:
four A records to different IP addresses, only one was IP of a working webserver.

I used a Wireshark to see what is going on and there are the results from Windows 10 machine:
IE and Edge takes 7 seconds timeout for each A record. in the worse case when the A record of working webserver is on the last tried IP opening of page takes 21 seconds.

In Chrome and FireFox, each try takes 21 seconds, so worst case takes 63 seconds to open a page.

Once the page was opened, all browsers are holding the working IP so after initial connection it is fast, as usual.

Is there any other method that is faster on failover?
0
NFR key for Veeam Agent for Linux
LVL 1
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

So, I have an IIS 7 web server that is getting flagged on a security audit because of a certificate name mismatch.  The problem is that you can browse to the public IP address (https://12.34.56.78) and you will get a certificate error, because that public IP address isn't on the certificate.  I have a rewrite rule in IIS to redirect https://12.34.56.78 to https://my.domain.com, but that doesn't happen until after the SSL handshake because SSL happens before http.

So, I am left with a few ways of fixing it:
1. Adding the IP address to the certificate, but apparenlty that is no longer going to be supported after this month (Oct. 2016).
2. Create a redirect/rewrite rule (either in IIS or on my SonicWALL firewall) that will rewrite the IP address to the URL before the SSL handshake.  I'm not even sure if that's possible.
3. I guess the third option would be to have IIS block the public IP address, and only respond to requests for the URL, but I'm not sure how to do that.

Anyone have any ideas?

Thanks
0
hello,
i've an open source program called lime for making survey, this program using apachi service in hosting not IIS how can i make the user access the url using https not http because we'll going o publish it?
0
Hello Experts,

Can someone please let me know how to How to Disable HTTP Strict Transport Security(HSTS) in Firefox, see image. Its driving me crazy

firefox
0
I am reading API data from Facebook with no problem expect I cannot find out how to read my friendlist.
I am using HTTP calls to read data .
0
I have installed java SpagoBI 5.2 app from .war successfully. I can start the SpagoBI from Tomcat 8 manager-app by double-click on SpagoBI on the list - works OK
When I use  the url: http://localhost:8080/SpagoBI - the app does not start - error 404 1008.
I spent some time for finding a reason but no success so far ..
Can somebody give me an advice ?
Thx
Stan
0
Our customer has an issue.. when the employees are trying to shopping site from within, there is a long wait but www.google.com or internal website can easily be accessed. Please tell how do I go about getting to the root of the issue here? We tried during non congested hours and the result was the same, just to rule out networking issue.

Thanks;
Ravi
0
I set up a helpdesk solution with my company.  I would like to put a hostname of the site into the browser versus an IP address.  I set up an a record in DNS and a cname record pointing to the a record.  I set up a binding in IIS on the server the site is on and still can't connect to it.
0
Hello,
I am trying to create a rewrite rule that will filter an https url that was rewritten from http, and redirect it to another web server. The rewrite to HTTPS works, but the resulting https url generates a 404 error and does not redirect. I have been able to successfully test redirect url requests over port 80 but not https. Any suggestions?

Here is what I have so far:

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]

I've tried

RewriteCond "https://%{HTTP_HOST}" "^/~username(.*)"
RewriteCond "%{SERVER_PORT}" "^443$"
RewriteRule "^/?(.*) "http://username.domain.com"

and

RedirectMatch "^/~username(.*)" "http://username.domain.com"
0
Using an imac
0
[Webinar] How Hackers Steal Your Credentials
LVL 9
[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Hi, i have a website running IIS 8.5 (win 2012 R2) which runs over HTTP. i have a virtual directory within the same website which i want to secure over HTTPS.
i have both HTTP & HTTPS bindings for the website.

I have a citrix netscaler in front of the website which has been configured to perform SSL offload. the service on the netscaler which sends traffic to the website is both HTTP& HTTPS
I have disabled anonymous authentication and enabled basic authentication for the virtual directory, however i have not checked the 'Require SSL' box for the Virtual Directory.

When a client connects to the Virtual Directory via HTTP they get prompted for username & password and if they enter this, it lets them in, the same happens if the connct via HTTPS

What i need to do is redirecrt/ rewrite the HTTP connection just for the Virtual Directory so that it forces it to be a HTTPS connection. any ideas?

many thanks
0
before couple of weeks ago i was working for a company named as europac and i was continuously in contact with them but 2 days before i had sent them a mail i got a reply in the form of :-


Delivery to the following recipient failed permanently:

     hr@europacgroup.info

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain europacgroup.info by smtp.secureserver.net. [72.167.238.29].

The error that the other server returned was:
550 5.1.1 <hr@europacgroup.info> Recipient not found.  <http://x.co/irbounce>
0
companyname.com is our website

 companyname.com is also a forward lookup zone in the internal DNS.
As such we have the following entries;
1. www    --   External IP of Web Server
2. [blank] --  External IP of Web Server

works fine when accessing the site via HTTP but fails on HTTPS

"This web page is not available
ERR_CONNECTION_REFUSED"
0
Hi,

I have a single public IP address that are going to host 3 different websites on 3 different servers.

How do I put in a front-end of some kind that enables me to do:

http://site1.domain1.com -> webserver1.domain.local (192.168.0.1)
http://site2.domain1.com -> webserver2.domain.local (192.168.0.2)
http://site3.domain2.com -> webserver3.domain.local (192.168.0.3)

... where all of the public URL's site1.domain1.com, etc. all points to the public IP address 1.2.3.4

Windows software preferred.

Thanks

Bjorn
0
We were just running WooRank and the following error showed:


"Your website does not direct www.website.com and website.com to the same URL. It is crucial that you fix this. Redirecting requests from a non-preferred domain is important because search engines consider URLs with and without "www" as two different websites.You should first set your preferred domain in Google Search Console (formerly Webmaster Tools), then use a 301 redirectto divert traffic from your non-preferred domain."

It's awfully strange because our htaccess file is the following:

# BEGIN GD-SSL
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.website\.com
RewriteRule ^(.*)$ http://website.com/$1 [R=permanent,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Header add Strict-Transport-Security "max-age=300"
</IfModule>
# END GD-SSL


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress


Please help!! Thank you!
0
I was trying to replicate an 8.5 IIS website on a machine and now I get the 404.4 error message I mentioned above. I basically mirrored the other web server, gave it another name so I can use it for testing purposes. Here is the detailed error:

Detailed Error Information:



Module
   IIS Web Core

Notification
   MapRequestHandler

Handler
   PageHandlerFactory-ISAPI-4.0_64bit

Error Code
   0x8007007b



Requested URL
   http://localhost:80/default.aspx

Physical Path
   C:\Program Files\Microsoft Dynamics CRM\CRMWeb\default.aspx

Logon Method
   Anonymous

Logon User
   Anonymous


Thank you for your help!
0

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
<
Monthly
>